جزوه · فرمان‌های مقدماتی لینوکس (بخش دوم) ← بازگشت به فهرست
📘 فصل اول · قسمت چهارم فرمان‌های مقدماتی (بخش دوم)
📅 تاریخ: ۱۴۰۵/۰۵/۱۷ 👤 مدرس: محمد عابدینی

▍ مقدمه

در بخش دوم از فرمان‌های مقدماتی، با دستورات مهم دیگری آشنا می‌شویم که برای کار با فایل‌ها و مشاهده محتوای آن‌ها بسیار کاربردی هستند. قبل از هر چیز، بیایید با یک اصل اساسی در لینوکس آشنا شویم.

⚡ اصل طلایی لینوکس:

«همه چیز در لینوکس یک فایل است»

این یکی از مهم‌ترین مفاهیم در لینوکس است. حتی دستگاه‌های سخت‌افزاری، درایوها، پروسس‌ها و تقریباً همه چیز به صورت فایل در سیستم‌عامل لینوکس نمایش داده می‌شوند. این ویژگی باعث سادگی و یکپارچگی در مدیریت سیستم می‌شود.

▍ فرمان type

فرمان type به ما نشان می‌دهد که یک دستور خاص از چه نوعی است. این فرمان مشخص می‌کند که یک دستور built-in (ساخته شده در خود شل) است یا external (یک برنامه جداگانه در سیستم).

📝 مثال‌های کاربردی:
$ type cd cd is a shell builtin

cd یک دستور built-in است (داخل خود شل ساخته شده).

$ type ls ls is /usr/bin/ls

ls یک برنامه خارجی است که در مسیر /usr/bin/ls قرار دارد.

$ type -a ls ls is /usr/bin/ls
ls is /bin/ls

با گزینه -a تمام مکان‌هایی که دستور در آن‌ها وجود دارد را نشان می‌دهد.

خروجی type توضیح
shell builtin دستور در خود شل ساخته شده و سریع‌تر اجرا می‌شود
مسیر کامل (مثل /usr/bin/...) دستور یک برنامه خارجی است که در سیستم نصب شده
alias دستور یک نام مستعار (alias) است
not found دستور در سیستم وجود ندارد

▍ فرمان cp (Copy)

فرمان cp مخفف Copy است و برای کپی کردن فایل‌ها و دایرکتوری‌ها استفاده می‌شود.

📝 نحوه استفاده:
$ cp file1.txt file2.txt # کپی کردن file1.txt به اسم file2.txt
$ cp file.txt /home/user/Documents/ # کپی کردن فایل به دایرکتوری Documents
$ cp -r folder1/ folder2/ # کپی کردن دایرکتوری به صورت بازگشتی (با -r)
📌 نکات مهم cp:
  • برای کپی کردن دایرکتوری باید از گزینه -r (recursive) استفاده کرد.
  • اگر فایل مقصد از قبل وجود داشته باشد، بازنویسی می‌شود.
  • با گزینه -i (interactive) قبل از بازنویسی از شما تأیید می‌گیرد.

▍ فرمان cat (Concatenate)

فرمان cat مخفف Concatenate است و برای نمایش محتوای فایل‌های متنی در خروجی استاندارد (ترمینال) استفاده می‌شود. همچنین می‌تواند چند فایل را به هم بچسباند (ادغام کند).

📝 مثال‌های کاربردی:
$ cat file.txt This is the content of the file.
It has multiple lines.
This is the third line.

نمایش کامل محتوای فایل file.txt در ترمینال.

$ cat -n file.txt 1 This is the content of the file.
2 It has multiple lines.
3 This is the third line.

با گزینه -n، شماره خطوط نیز نمایش داده می‌شود.

$ cat file1.txt file2.txt > combined.txt # ادغام دو فایل در یک فایل جدید
گزینه توضیح
-n نمایش شماره خطوط
-b نمایش شماره خطوط غیر خالی
-E نمایش علامت $ در انتهای هر خط

▍ فرمان head

فرمان head برای نمایش خطوط ابتدایی یک فایل استفاده می‌شود. به طور پیش‌فرض، ۱۰ خط اول فایل را نمایش می‌دهد.

📝 مثال‌های کاربردی:
$ head file.txt # نمایش ۱۰ خط اول فایل
$ head -n 5 file.txt # نمایش ۵ خط اول فایل
$ head -n 20 file.txt # نمایش ۲۰ خط اول فایل

▍ فرمان tail

فرمان tail برای نمایش خطوط انتهایی یک فایل استفاده می‌شود. به طور پیش‌فرض، ۱۰ خط آخر فایل را نمایش می‌دهد.

📝 مثال‌های کاربردی:
$ tail file.txt # نمایش ۱۰ خط آخر فایل
$ tail -n 2 file.txt # نمایش ۲ خط آخر فایل
$ tail -f logfile.log # دنبال کردن (follow) تغییرات فایل لاگ
📌 گزینه -f در tail:

گزینه -f (follow) بسیار کاربردی است. وقتی از tail -f استفاده می‌کنید، ترمینال به صورت زنده تغییرات فایل را نمایش می‌دهد. این ویژگی برای مشاهده لاگ‌ها (log files) در زمان واقعی بسیار مفید است. برای خروج از این حالت، کلیدهای Ctrl + C را بزنید.

▍ فرمان less

فرمان less یک مشاهده‌گر تعاملی برای فایل‌های متنی است که به شما امکان می‌دهد فایل‌های بزرگ را به راحتی مشاهده کنید. برخلاف cat که کل فایل را یکباره نمایش می‌دهد، less محتوا را صفحه به صفحه نشان می‌دهد.

📝 نحوه استفاده:
$ less filename.txt

• قابلیت‌های less

💡 نکته:

less فایل را به صورت کامل در حافظه بارگذاری نمی‌کند، بنابراین برای مشاهده فایل‌های بسیار بزرگ (چندین مگابایت یا حتی گیگابایت) بسیار مناسب است.

▍ فرمان more

فرمان more یکی از قدیمی‌ترین مشاهده‌گرهای فایل در لینوکس است که مانند less، فایل را صفحه به صفحه نمایش می‌دهد. اما تفاوت‌هایی با less دارد که در ادامه بررسی می‌کنیم.

📝 نحوه استفاده:
$ more filename.txt

با زدن Enter یک خط به پایین می‌روید و با Space یک صفحه کامل.

• کلیدهای میانبر در more

کلید عملیات
Space رفتن به صفحه بعد
Enter رفتن به خط بعدی
b رفتن به صفحه قبل (Back)
/ جستجوی عبارت (مثل less)
q خروج از more
h نمایش راهنما

• مقایسه less و more

📖 less

  • تعاملی‌تر و امکانات بیشتر
  • امکان اسکرول به بالا و پایین با فلش‌ها
  • جستجوی پیشرفته با هایلایت
  • فایل را بهینه بارگذاری می‌کند
  • امکان رفتن به خط خاص با شماره
  • خروج با q

📄 more

  • ساده‌تر و قدیمی‌تر
  • فقط امکان اسکرول به پایین (به جز با b)
  • جستجوی ساده
  • در برخی سیستم‌ها کندتر از less
  • مناسب برای فایل‌های نه چندان بزرگ
  • خروج با q
✅ کدام را انتخاب کنیم؟

امروزه اکثر کاربران حرفه‌ای لینوکس از less استفاده می‌کنند، زیرا امکانات بیشتری دارد و تعامل با آن راحت‌تر است. اما more همچنان در بسیاری از سیستم‌ها وجود دارد و برای کارهای ساده می‌توان از آن استفاده کرد. توصیه می‌شود less را یاد بگیرید و از آن استفاده کنید.

▍ جمع‌بندی

✅ تمرین پیشنهادی:

۱. با type نوع دستورات echo، pwd و cp را بررسی کنید.
۲. یک فایل متنی بسازید و با cat -n محتوای آن را با شماره خط نمایش دهید.
۳. با head -n 3 و tail -n 5 خطوط ابتدا و انتهای یک فایل را ببینید.
۴. با less یک فایل بزرگ را باز کنید و جستجو را امتحان کنید.
۵. تفاوت less و more را با یک فایل عملی مقایسه کنید.

📘 جزوه کاملاً راست‌چین با فونت وزیر · آماده پرینت به صورت PDF